Some embodiments of the present disclosure are directed to an improved approach for integrating applications with an RDF repository, specifically through a SPARQL gateway.
The resource description framework (RDF) language is a powerful language, and is a technology that is used extensively in implementations of the “semantic web”. The term SPARQL (pronounced “sparkle”) refers to a protocol using the RDF query language that is designed as a query language for databases. SPARQL is intended to federate certain uses of RDF, and SPARQL became an official “World Wide Web Consortium” (W3C) recommendation in 2008. Database engines that process queries coded in SPARQL are able to retrieve and manipulate data stored in the resource description framework format. SPARQL allows for a query to consist of “triple” patterns, conjunctions, disjunctions, and optional patterns, and standards-compliant responses to a SPARQL query are returned in an XML format.
Integrating existing applications with semantic data sources poses a challenge. Many existing applications do not natively support construction of queries in SPARQL, nor do they natively handle SPARQL query responses. That is, execution of a SPARQL query would return a query response in an XML format, and legacy applications do not natively support handle such SPARQL query responses as returned in an XML format. In order to consume a SPARQL query response in XML, application integrators have few technologies at their disposal. In one possibility, the application developer can parse the XML format returned by the SPARQL and transform it into a data structure that is natively consumable by the existing application. This task can be difficult for legacy applications or applications that are not flexible with their input. It is even harder for already deployed applications and third party applications because code changes may not be feasible. In another possibility, the database that services the SPARQL query can be customized so it returns the query response in the desired (e.g., application-specific) format. Yet, this architectural choice is not desired inasmuch as implementation of such application-specific formats is anathema to the notion of a standard interface that is the motivation for SPARQL.
The aforementioned implementation possibilities suffer from additional and severe limitations. Therefore, there is a need for an improved approach to perform integrating applications with an RDF repository.